﻿using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using System.ComponentModel;
using System.Runtime.Serialization;

namespace ServerNodeLib
{
	/// <summary>
	/// This is the definition sent to the client of a batch.
	/// 
	/// The batch contains four key parts:
	/// 1) Id
	/// 2) "BatchResources" or inputs
	/// 3) "BatchCommands"
	/// 4) "ReturnResources" or outputs
	/// </summary>
	[DataContract()]
	public class BatchInfo
	{
		/// <summary>
		/// The batch Id this to which this list of resources belongs
		/// </summary>
		[DataMember()]
		public Guid BatchId;
		/// <summary>
		/// The list of resources the client needs to execute this test case
		/// </summary>
		[DataMember()]
		public List<ResourceInfo> BatchResources;
		/// <summary>
		/// Ordered list of commands to execute
		/// </summary>
		[DataMember()]
		public List<CommandInfo> Commands;
		/// <summary>
		/// The list of resources the client should send back to the server
		/// </summary>
		[DataMember()]
		public List<ResourceInfo> ReturnResources;
	}
}
